package com.home766.service;

import com.home766.dto.ShopsDto;
import com.home766.entity.Shops;
import net.biz.Page;
import net.biz.Pageable;
import net.biz.entity.Area;
import net.biz.service.BaseService;

import java.util.List;

/**
 * Service - 门店
 * 
 * @author Ricky
 * @version 1.0
 */
public interface ShopsService extends BaseService<Shops, Long> {
	/***
	 * 门店列表
	 * @param shops
	 * @return
	 */
	Page<Shops> getShopsList(Shops shops, Pageable pageable, String properties);
	/***
	 * 门店列表-前台
	 * @param shops
	 * @return
	 */
	Page<Shops> getShopsReceptionList(Shops shops, Pageable pageable);
	/***
	 * 门店报表
	 * @param shops
	 * @return
	 */
	List<ShopsDto> getShopsList(Shops shops);
	
	public void updateShops(Shops shops);
	/****
	 * 获取维护的门店区域最上级
	 * @return
	 */
	List<Area> getShopsArea();
	/***
	 * 根据上级获取下级区域
	 * @param provinceId
	 * @return
	 */
	List<Area> getShopsAreaChildren(Long provinceId);
	/***
	 * 根据维护的门店的市获取区
	 * @param cityId
	 * @return
	 */
	List<Area> getShopsAreaChildrens(Long cityId);
	/***
	 * 根据区ID获取门店
	 * @param areaId
	 * @return
	 */
	List<Shops> getShopsByAreaId(Long areaId, boolean limit, Long shopsNature);
	
	Shops saveShops(Shops shops, String name, String password);
	/*** 
	 *get SingleShops by adminId
	 * @param adminId
	 * @return
	 */
	Shops getSingleShops(Long adminId);
	/***
	 * 查询售后总店
	 * @return
	 */
	Shops getServiceTotalShops();
	/***
	 * 根据省ID查询所有的A级门店
	 * @param province
	 * @return
	 */
	List<Shops> getShopsLevel(Long province);
}
